#ifndef LAYERCONFIGMANAGER_H
#define LAYERCONFIGMANAGER_H

#include <QObject>
#include <QList>
#include <QString>
#include "maplayer.h"

class LayerConfigManager : public QObject
{
    Q_OBJECT
public:
    explicit LayerConfigManager(QObject *parent = nullptr);
    
    // 保存图层配置方案
    bool saveConfig(const QString &name, const QList<MapLayer> &layers);
    
    // 加载图层配置方案
    QList<MapLayer> loadConfig(const QString &name);
    
    // 获取所有可用的配置方案名称
    QStringList availableConfigs() const;
    
    // 删除配置方案
    bool deleteConfig(const QString &name);
    
    // 获取配置文件保存路径
    QString configDir() const;

private:
    QString m_configDir;
    void ensureConfigDirExists();
};

#endif // LAYERCONFIGMANAGER_H